package com.kingdee.eas.lms.app;

import javax.ejb.*;
import java.rmi.RemoteException;
import com.kingdee.bos.*;
import com.kingdee.bos.util.BOSObjectType;
import com.kingdee.bos.metadata.IMetaDataPK;
import com.kingdee.bos.metadata.rule.RuleExecutor;
import com.kingdee.bos.metadata.MetaDataPK;
//import com.kingdee.bos.metadata.entity.EntityViewInfo;
import com.kingdee.bos.framework.ejb.AbstractEntityControllerBean;
import com.kingdee.bos.framework.ejb.AbstractBizControllerBean;
//import com.kingdee.bos.dao.IObjectPK;
import com.kingdee.bos.dao.IObjectValue;
import com.kingdee.bos.dao.IObjectCollection;
import com.kingdee.bos.service.ServiceContext;
import com.kingdee.bos.service.IServiceContext;
import com.kingdee.eas.framework.Result;
import com.kingdee.eas.framework.LineResult;
import com.kingdee.eas.framework.exception.EASMultiException;
import com.kingdee.bos.dao.ormapping.ObjectUuidPK;

import java.lang.String;
import com.kingdee.bos.dao.IObjectValue;
import com.kingdee.eas.lms.project.projectreq.ProjectreqException;
import com.kingdee.eas.lms.purchase.stock.StateEnum;



public abstract class AbstractPorjectRequestHelpFacadeControllerBean extends AbstractBizControllerBean implements PorjectRequestHelpFacadeController
{
    protected AbstractPorjectRequestHelpFacadeControllerBean()
    {
    }

    protected BOSObjectType getBOSType()
    {
        return new BOSObjectType("DED04119");
    }

    public void Audit(Context ctx, IObjectValue IObject) throws BOSException
    {
        try {
            ServiceContext svcCtx = createServiceContext(new MetaDataPK("b52e73bd-7d5c-4909-b867-7f8839393b2e"), new Object[]{ctx, IObject});
            invokeServiceBefore(svcCtx);
            _Audit(ctx, IObject);
            invokeServiceAfter(svcCtx);
        } catch (BOSException ex) {
            throw ex;
        } finally {
            super.cleanUpServiceState();
        }
    }
    protected abstract void _Audit(Context ctx, IObjectValue IObject) throws BOSException;

    public void UnAudit(Context ctx, IObjectValue IObject, StateEnum stateEnum) throws BOSException
    {
        try {
            ServiceContext svcCtx = createServiceContext(new MetaDataPK("19f7cb69-c768-4b50-a913-20ef991cd601"), new Object[]{ctx, IObject, stateEnum});
            invokeServiceBefore(svcCtx);
            _UnAudit(ctx, IObject, stateEnum);
            invokeServiceAfter(svcCtx);
        } catch (BOSException ex) {
            throw ex;
        } finally {
            super.cleanUpServiceState();
        }
    }
    protected abstract void _UnAudit(Context ctx, IObjectValue IObject, StateEnum stateEnum) throws BOSException;

    public void invalid(Context ctx, IObjectValue Iobject) throws BOSException
    {
        try {
            ServiceContext svcCtx = createServiceContext(new MetaDataPK("a1f51c59-ec49-458b-8885-a304a7c209ad"), new Object[]{ctx, Iobject});
            invokeServiceBefore(svcCtx);
            _invalid(ctx, Iobject);
            invokeServiceAfter(svcCtx);
        } catch (BOSException ex) {
            throw ex;
        } finally {
            super.cleanUpServiceState();
        }
    }
    protected abstract void _invalid(Context ctx, IObjectValue Iobject) throws BOSException;

    public void Close(Context ctx, IObjectValue Iobject) throws BOSException
    {
        try {
            ServiceContext svcCtx = createServiceContext(new MetaDataPK("19a17c74-f4c1-4532-919c-8f07a2dd7935"), new Object[]{ctx, Iobject});
            invokeServiceBefore(svcCtx);
            _Close(ctx, Iobject);
            invokeServiceAfter(svcCtx);
        } catch (BOSException ex) {
            throw ex;
        } finally {
            super.cleanUpServiceState();
        }
    }
    protected abstract void _Close(Context ctx, IObjectValue Iobject) throws BOSException;

    public void AuditBack(Context ctx, IObjectValue IObject) throws BOSException
    {
        try {
            ServiceContext svcCtx = createServiceContext(new MetaDataPK("ada73b0f-8edb-4475-b748-e65c054c987a"), new Object[]{ctx, IObject});
            invokeServiceBefore(svcCtx);
            _AuditBack(ctx, IObject);
            invokeServiceAfter(svcCtx);
        } catch (BOSException ex) {
            throw ex;
        } finally {
            super.cleanUpServiceState();
        }
    }
    protected abstract void _AuditBack(Context ctx, IObjectValue IObject) throws BOSException;

    public void Cancel(Context ctx, IObjectValue IObject) throws BOSException
    {
        try {
            ServiceContext svcCtx = createServiceContext(new MetaDataPK("eedca02c-23ba-4326-b086-5d712a3b77e8"), new Object[]{ctx, IObject});
            invokeServiceBefore(svcCtx);
            _Cancel(ctx, IObject);
            invokeServiceAfter(svcCtx);
        } catch (BOSException ex) {
            throw ex;
        } finally {
            super.cleanUpServiceState();
        }
    }
    protected abstract void _Cancel(Context ctx, IObjectValue IObject) throws BOSException;

    public void CancelCancel(Context ctx, IObjectValue IObject) throws BOSException
    {
        try {
            ServiceContext svcCtx = createServiceContext(new MetaDataPK("c75b1af8-e375-40f1-9ff4-ae3de8f87775"), new Object[]{ctx, IObject});
            invokeServiceBefore(svcCtx);
            _CancelCancel(ctx, IObject);
            invokeServiceAfter(svcCtx);
        } catch (BOSException ex) {
            throw ex;
        } finally {
            super.cleanUpServiceState();
        }
    }
    protected abstract void _CancelCancel(Context ctx, IObjectValue IObject) throws BOSException;

    public void save(Context ctx, IObjectValue IObject) throws BOSException
    {
        try {
            ServiceContext svcCtx = createServiceContext(new MetaDataPK("517c1cf4-ce08-4604-9252-c8ef0d2c32b1"), new Object[]{ctx, IObject});
            invokeServiceBefore(svcCtx);
            _save(ctx, IObject);
            invokeServiceAfter(svcCtx);
        } catch (BOSException ex) {
            throw ex;
        } finally {
            super.cleanUpServiceState();
        }
    }
    protected void _save(Context ctx, IObjectValue IObject) throws BOSException
    {    	
        return;
    }

    public void OnturePool(Context ctx, IObjectValue Iobject) throws BOSException, ProjectreqException
    {
        try {
            ServiceContext svcCtx = createServiceContext(new MetaDataPK("f26a413c-9c92-46a2-8aa0-540e00d073be"), new Object[]{ctx, Iobject});
            invokeServiceBefore(svcCtx);
            _OnturePool(ctx, Iobject);
            invokeServiceAfter(svcCtx);
        } catch (BOSException ex) {
            throw ex;
        } catch (ProjectreqException ex0) {
            throw ex0;
        } finally {
            super.cleanUpServiceState();
        }
    }
    protected void _OnturePool(Context ctx, IObjectValue Iobject) throws BOSException, ProjectreqException
    {    	
        return;
    }

    public String prmtconstructType(Context ctx, IObjectValue Iobject) throws BOSException
    {
        try {
            ServiceContext svcCtx = createServiceContext(new MetaDataPK("92f450d0-91b0-4c2d-9b2d-a974426730b9"), new Object[]{ctx, Iobject});
            invokeServiceBefore(svcCtx);
            String retValue = (String)_prmtconstructType(ctx, Iobject);
            svcCtx.setMethodReturnValue(retValue);
            invokeServiceAfter(svcCtx);
            return retValue;
        } catch (BOSException ex) {
            throw ex;
        } finally {
            super.cleanUpServiceState();
        }
    }
    protected abstract String _prmtconstructType(Context ctx, IObjectValue Iobject) throws BOSException;

    public double Submit(Context ctx, IObjectValue Iobject) throws BOSException
    {
        try {
            ServiceContext svcCtx = createServiceContext(new MetaDataPK("535bf53b-dee5-450d-be5c-34391f588398"), new Object[]{ctx, Iobject});
            invokeServiceBefore(svcCtx);
            double retValue = (double)_Submit(ctx, Iobject);
            svcCtx.setMethodReturnValue(new Double(retValue));
            invokeServiceAfter(svcCtx);
            return retValue;
        } catch (BOSException ex) {
            throw ex;
        } finally {
            super.cleanUpServiceState();
        }
    }
    protected double _Submit(Context ctx, IObjectValue Iobject) throws BOSException
    {    	
        return 0;
    }

}